home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-30 | 4.3 KB | 196 lines | [TEXT/CWIE] |
- { ModalText.p -- Modal dialog }
- { Created 10/30/98 1:06 PM by AppMaker }
-
- Unit ModalText;
- Interface
-
- Uses
- Types,
- Quickdraw,
- Controls,
- Dialogs,
- Events,
- Lists,
- Menus,
- TextEdit,
- DModalTextData,
- AMDialog;
-
- type
- CModalText = object (AMDialog)
-
- {data members}
- mData: DModalTextData;
-
- mOKHandle: ControlHandle;
- mSmallHandle: ControlHandle;
- mLargeHandle: ControlHandle;
- mX12345Handle: ControlHandle;
- mX12345e6Handle: ControlHandle;
- mPasswordHandle: ControlHandle;
- mDateHandle: ControlHandle;
- mTimeHandle: ControlHandle;
- mStyledHandle: ControlHandle;
-
- {methods - public}
- Procedure ConnectToData (inData: AMSignaler); Override;
-
- {methods - internal}
- Procedure FinishMake; Override;
- Procedure DoItem (inItemHit: SInt16); Override;
- Procedure DataChanged (inDataID: longint); Override;
-
- end;
-
- {----------}
- Function NewModalText: CModalText;
-
- {----------}
- Function GetModalText (ioData: DModalTextData): Boolean;
-
- {----------}
- Implementation
-
- Uses
- ResourceDefs,
- ControlUtils,
- Miscellany;
-
- const
- kOKButton = 1;
- kSmallField = 2;
- kLargeField = 3;
- kX12345Field = 4;
- kX12345e6Field = 5;
- kPasswordField = 6;
- kDateField = 7;
- kTimeField = 8;
- kStyledField = 9;
-
-
- {----------}
- Function NewModalText: CModalText;
- var
- dialog: CModalText;
- begin
- dialog := nil;
- New (dialog);
-
- if dialog <> nil then begin
- dialog.Initialize;
- end;
- NewModalText := dialog;
- end;
-
- {----------}
- Function GetModalText (
- ioData: DModalTextData): Boolean;
- Var
- result: Boolean;
- dialog: CModalText;
- begin
- result := false;
- dialog := NewModalText;
-
- result := dialog.RunModal (DLOG_ModalText, ioData);
-
- dialog.Free;
- Dispose (dialog);
-
- GetModalText := result;
- end;
-
- {----------}
- Procedure CModalText.FinishMake;
- var
- errCode: OSErr;
- begin
- mOKHandle := GetControlItem (kOKButton);
- SetDefaultState (mOKHandle, true);
- errCode := SetDialogDefaultItem (mDialog, kOKButton);
- mSmallHandle := GetControlItem (kSmallField);
- mLargeHandle := GetControlItem (kLargeField);
- mX12345Handle := GetControlItem (kX12345Field);
- mX12345e6Handle := GetControlItem (kX12345e6Field);
- mPasswordHandle := GetControlItem (kPasswordField);
- mDateHandle := GetControlItem (kDateField);
- mTimeHandle := GetControlItem (kTimeField);
- mStyledHandle := GetControlItem (kStyledField);
- end;
-
- {----------}
- Procedure CModalText.ConnectToData (
- inData: AMSignaler); Override;
- begin
- inherited ConnectToData (inData);
- mData := DModalTextData (inData);
-
- SetControlText (mSmallHandle, mData.GetSmall2);
- SetControlText (mLargeHandle, mData.GetLarge2);
- SetControlTextValue (mX12345Handle, mData.GetX12346);
- SetControlTextFloat (mX12345e6Handle, mData.GetX12345e7);
- SetControlText (mPasswordHandle, mData.GetPassword2);
- SetClockDateTime (mDateHandle, mData.GetDate2);
- SetClockDateTime (mTimeHandle, mData.GetTime2);
- SetControlText (mStyledHandle, mData.GetStyled2);
- end;
-
- {----------}
- Procedure CModalText.DoItem (
- inItemHit: SInt16);
- begin
- case inItemHit of
- kOKButton:
- SetResult (true);
- kSmallField:
- mData.SetSmall2 (GetEditTextStr (mSmallHandle));
- kLargeField:
- mData.SetLarge2 (GetEditTextChars (mLargeHandle));
- kX12345Field:
- mData.SetX12346 (GetControlTextValue (mX12345Handle));
- kX12345e6Field:
- mData.SetX12345e7 (GetControlTextFloat (mX12345e6Handle));
- kPasswordField:
- mData.SetPassword2 (GetEditTextPasswordStr (mPasswordHandle));
- kDateField:
- mData.SetDate2 (GetClockDateTime (mDateHandle));
- kTimeField:
- mData.SetTime2 (GetClockDateTime (mTimeHandle));
- kStyledField:
- mData.SetStyled2 (GetEditTextChars (mStyledHandle));
-
- end; {switch}
- end;
-
- {----------}
- Procedure CModalText.DataChanged (
- inDataID: longint); Override;
- begin
- if inDataID = idSmall2 then begin
- SetControlText (mSmallHandle, mData.GetSmall2);
- end;
- if inDataID = idLarge2 then begin
- SetControlText (mLargeHandle, mData.GetLarge2);
- end;
- if inDataID = idX12346 then begin
- SetControlTextValue (mX12345Handle, mData.GetX12346);
- end;
- if inDataID = idX12345e7 then begin
- SetControlTextFloat (mX12345e6Handle, mData.GetX12345e7);
- end;
- if inDataID = idPassword2 then begin
- SetControlText (mPasswordHandle, mData.GetPassword2);
- end;
- if inDataID = idDate2 then begin
- SetClockDateTime (mDateHandle, mData.GetDate2);
- end;
- if inDataID = idTime2 then begin
- SetClockDateTime (mTimeHandle, mData.GetTime2);
- end;
- if inDataID = idStyled2 then begin
- SetControlText (mStyledHandle, mData.GetStyled2);
- end;
- end;
-
- End.
-